package com.cy.pj.notice.web.pojo;

/**
 * 所有的web项目，在设计响应诗句时，都会有个一规范，比方说
 * 要相应给客户端什么数据，以什么格式进行响应。
 * 当前项目中，我们基于对象封装服务端响应到客户端数据，
 * 对于这样的对象通常会包含三部分内容
 * 1）状态码  404  500  400
 * 2）消息
 * 3）数据
 */

public class JsonResult {
    /**
     * 状态码
     */
    private Integer state=1;//1标识ok,0表示Error

    /**
     * 状态信息
     */
    private String message="OK";//消息

    /**
     * 响应数据，一般为查询操作结果
     */
    private Object data;//数据

    public JsonResult(){ }

    public JsonResult(Object data) {
        this.data = data;
    }

    public JsonResult(Integer state) {
        this.state = state;
    }

    public JsonResult(String message) {
        this.message = message;
    }

    public JsonResult(Throwable e){
        this.state=0;
        this.message=e.getMessage();
    }
    public JsonResult(Integer state, String message) {
        this.state = state;
        this.message = message;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return "JsonResult{" +
                "state=" + state +
                ", message='" + message + '\'' +
                ", data=" + data +
                '}';
    }
}
